Industrial robot control method

ABSTRACT

An industrial robot control method for use in a system having a machine tool (MAC), a numerical control device (NCU) for controlling the machine tool, an industrial robot (RBT), and a robot control device (RCU) for controlling the industrial robot. In accordance with this industrial robot control method, a plurality of NC programs are stored beforehand in an internal memory (DMN) of the numerical control device (NCU), and a plurality of robot control programs are stored beforehand in an internal memory (DMR) of the robot control device (RCU). The size or shape of a workpiece is sensed by a workpiece discriminating unit (WKD) to select the NC program conforming to the particular workpiece. A robot program number, corresponding to the selected NC program, is transmitted from the numerical control device (NCU) to the robot control device (RCU), so that the robot (RBT) may be controlled based on the robot program identified by the robot program number number.

CROSS REFERENCE TO RELATED APPLICATION

This application is related to U.S. Application Ser. No. 491,426, filed Mar. 25, 1983 and assigned to the assignee of the subject application.

BACKGROUND OF THE INVENTION

This invention relates to an industrial robot control method. More particularly, the invention relates to an industrial robot control method for use in a system having a machine tool, a numerical control device for controlling the machine tool, an industrial robot and a robot control device for controlling the industrial robot. A plurality of robot control programs are stored in the robot control device, and a robot control program selection signal is generated by the numerical control device to cause the robot control device to select a robot control program in accordance with the selection signal and to execute robot service processing based on the robot control program.

As shown in FIG. 1, a system having a machine tool for subjecting a workpiece to predetermined machining and an industrial robot for servicing the machine tool by, (e.g., loading and unloading workpieces, changing tools and cleaning machining scraps), is provided with a numerical control device NCU for controlling the machine tool MAC and with a separate robot control device RCU for controlling the industrial robot RBT. The numerical control device NCU and the robot control device RCU possess respective internal memories MMN, MMR. The memory MMN stores an NC program in accordance with which the machine tool subjects the workpiece to predetermined machining, while the memory MMR stores a robot program comprising a number of items of robot command data for prescribing robot motion. Processors PRN, PRR located within the respective numerical and robot control devices NCU, RCU read the machining data and robot command data out of the corresponding memories MMN, MMR in sequential fashion and control the machine tool MAC and the industrial robot RBT on the basis of the machining data and robot command data, so that the machine tool and industrial robot may execute the machining and robots services as commanded. In FIG. 1, TP denotes a paper tape bearing a punched machining program read into the memory MMN by a tape reader (not shown). TB represents a teaching box, MX, MZ designate motors for driving the machine tool, and CPN, CPR denote ROMs (read-only memories) which store the respective control programs.

In a conventional system, the same machining operation is performed continuously a considerable number of times. With the method of the prior art, therefore, only a single NC program, selected depending upon the kind of machining to be performed on the workpiece, is stored beforehand in the memory MMN, and the memory MMR of the robot control device is pre-taught only a single robot program, with the desired NC machining operation and robot services being carried out based on the NC program and robot program. Then, whenever the predetermined number of machining operations ends and a different machining operation is to be performed, activities are halted temporarily to load a different NC program and teach a different robot program.

While the foregoing prior-art method is suitable for performing the same machining and the same robot services continuously for, say, a full day, it is unfit for instances where the machining operation and robot services are required to be changed one after another. In other words, according to the conventional method, the operator must intercede to perform the loading and teaching tasks whenever the machining operations and robot services change. This results in markedly diminished efficiency and makes it impossible for the method to be applied to unmanned plants or the like.

SUMMARY OF THE INVENTION

In view of the foregoing, the object of the present invention is to provide an industrial robot control method which does not require the intervention of an operator to perform loading and teaching tasks each time a machining operation or robot service changes.

Another object of the present invention is to provide an industrial robot control method through which a predetermined NC program and robot control program are selected automatically in accordance with the size or shape of an unmachined workpiece. Then, NC machining and robot service processing are executed based on each of the selected programs.

A further object of the present invention is to provide an industrial robot control method through which successively changing machining operations and robot services can be performed automatically without operator intervention.

The present invention is directed to an industrial robot control method for use in a system having a machine tool, a numerical control device for controlling the machine tool, an industrial robot, and a robot control device for controlling the industrial robot. In the industrial robot control method of this type, a plurality of NC programs are stored beforehand in an internal memory of the numerical control device, and a plurality of robot programs are stored beforehand in an internal memory of the robot control device. When a workpiece to be machined changes, a desired NC program and robot program are selected by the operator or in automatic fashion to execute numerical and robot control. The change in the workpiece to be machined can be detected automatically by sensing a change in the size or shape thereof. By virtue of such an arrangement, the present invention dispenses with the need for loading an NC program or teaching a robot control program whenever a workpiece changes, thereby making possible both an improvement in system operating efficiency and in application to unmanned plants.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a block diagram of a robot system;

FIG. 2 is a block diagram of an embodiment used to perform the method of the present invention;

FIG. 3 is a block diagram of the workpiece discriminating unit used in the present invention;

FIG. 4 is a schematic diagram for describing data transmission and reception between a numerical control device and a robot control device in accordance with the present invention; and

FIG. 5 is a block diagram of another embodiment used to perform the method of the present invention.

DESCRIPTION OF THE PREFERRED EMBODIMENTS

REFERRING TO FIG. 2, NCU represents the numerical control device and RCU the robot control device. In the numerical control device NCU, DMN designates a non-volatile data memory for storing, internally of the numerical control device NCU, a number of machining programs for controlling a machine tool. WMN represents a working memory comprising a volatile RAM of low capacity for temporarily storing machining data read out of the non-volatile data memory DMN. PMN denotes a control program memory for storing a control program. Designated at MPUN is a processor, such as a microprocessor, for executing numerical control processing, editing processing, processing for the sending and receiving of data and various other forms of processing based on the control program and NC program. WNCT is a correspondence data memory for storing corresponding relationships among workpiece type, NC program and the leading address at which the NC program is stored in the data memory DMN. WKD represents a workpiece discriminating unit for producing a workpiece discrimination signal WDS upon discriminating, e.g., the shape or size of a workpiece delivered by workpiece conveyance means such as a conveyor or the like (not shown). The processor MPUN goes to the correspondence data memory WNCT to find the NC program and leading address thereof corresponding to the workpiece discrimination signal WDS, and then selects the NC program from the data memory DMN.

FIG. 3 is a block diagram of the workpiece discriminating unit WKD for producing the workpiece discrimination signal WDS upon sensing the area of a workpiece. ITV denotes a camera device for photographing workpieces carried on a conveyor and for producing an image of each workpiece. An image processor IPP resolves single frames of the image produced by the camera device ITV into n x m picture elements, discriminates the brightness level of each picture element, and produces an output upon converting black level elements into "1" signals and white level elements into "0" signals. The 8- or 16-bit picture data produced by the image processor IPP are stored, item by item, at each address of a picture memory PMM. PGC denotes a pulse generator, and ADG an address generator which counts pulses generated by the pulse generator PGC to successively produce addresses for the picture memory PMM. At the time of an area computation, a read control unit RDC reads picture data in units of 8 or 16 bits from the particular address of the picture memory PMM designated by the address generator ADG, and delivers the data one bit at a time in serial fashion. The single bits of delivered picture data are applied to a counter CN which is incremented if the item of input data is a "1". Thus, the counter CN is incremented by one count each time a "1" is read, with the status of the counter eventually attaining a value of B_(e). When all items of picture data comprising one frame are read out of the picture memory PMM, an arithmetic unit OPC computes an area ratio SQR by performing the following arithmetic operation:

    SQR=(Be/Pe)×100 (%)

using the total number Pe of picture elements in one frame, which number is stored in a register RG, and the number of black levels Be (number of workpiece picture elements) stored in the counter CN. The computed area ratio SQR is then applied to a memory MEM, which has stored therein the corresponding relationship between the area ratio and the workpiece, for producing the workpiece discrimination signal WDS conforming to the particular area ratio.

Returning to FIG. 2, a pulse distributor PDN receives positional commands X, Z as inputs thereto and executes well-known pulse distribution computations to distribute pulses X_(p), Z_(p). SVNX, SVNZ denote servo circuits whose respective inputs are the distributed pulses X_(p), Z_(p) as well as feedback pulses X_(f), Z_(f) each of which is generated whenever motors are rotated by a predetermined amount, the servo circuits SVNX, SVNZ producing analog voltages proportional to |X_(p) -X_(f) | and |Z_(p) -Z_(f) |, respectively. DMX, DMZ designate X-axis and Z-axis D.C. drive motors, respectively. Pulse coders PCNX, PCNZ are mounted on the respective shafts of the D.C. motors DMX, DMZ for generating the feedback pulses X_(f), Z_(f) whenever the corresponding motors rotate by a predetermined amount. It should be noted that the servo circuits SVNX, SVNZ, D.C. drive motors DMX, DMZ and pulse coders PCNX, PCNZ construct a servo unit which exercises servo control in such fashion that |X_(p) -X_(f) |and |Z_(p) -Z_(f) | both diminish to zero. PTR is a paper tape reader which reads an NC program (machining data) punched in the paper tape in order to load the NC program into the data memory DMN. A paper tape puncher PTP is adapted to punch an NC program, stored in the data memory DMN, into a paper tape serving as an external storage medium. OP represents an operator's pendant. DTN designates a data transceiving unit for transmitting data to and receiving data from the robot control device RCU based on control executed by the processor MPUN. PCN represents a power sequence circuit for exchanging signals with a machine tool. Specifically, a signal DON indicative of, e.g., a miscellaneous function (M-function) instruction, a spindle rotation (S-function) instruction or a tool selection (T-function) instruction is delivered by the power sequence circuit to the machine side as a contact signal. When the machine side completes an activity in response to the miscellaneous function instruction, spindle rotation instruction or tool selection instruction, the machine issues a completion signal DIN on a bus line in the form of a contact signal. BUSN denotes a common bus over which the processor MPUN exchanges data with the other units. The common bus BUSN includes a data bus line and address bus line. DTL represents a data transfer (or transmission) line which interconnects the numerical control device NCU and robot control device RCU so that data may be transferred between them. By way of example, let a desired NC program be selected by the operator or upon discrimination of workpiece size. When this has been accomplished, a robot program identification code corresponding to the NC program is transferred to the robot control device RCU via the data transmission line DTL. More specifically, since each NC program includes a corresponding robot program identification code which has been inserted into the program, the selection of an NC program causes the inserted robot program identification code (the program number, for example) to be transmitted to the processor MPUR of the robot control device RCU through the data transceiving unit DTN, data transfer line DTL and data transceiving unit DTR, whereby the desired robot program is selected from among the plurality of robot programs.

As an alternative to inserting a robot program identification code into the NC programs, an arrangement is possible wherein each robot program and NC program is assigned its own identification code in advance, and the corresponding relationships between the robot programs and the NC programs are stored in memory using these identification codes. The predetermined robot program identification code is obtained by relying upon these stored corresponding relationships, and the code is delivered to the robot control device RCU. FIG. 5 is a block diagram of an example of a system wherein the numerical control device NCU is provided with a correspondence table CTL for storing the above-mentioned corresponding relationships.

In the robot control device RCU (FIG. 2), DMR represents a non-volatile data memory, incorporated within the robot control device RCU, for storing a number of robot programs for controlling an industrial robot. WMR represents a working memory comprising a high-speed, volatile RAM of low capacity incorporated within the robot control device RCU. PMR denotes a control program memory for storing a control program. Designated at MPUR is a processor such as a microprocessor for executing, e.g., robot control processing and processing for the sending and receiving of data on the basis of a robot program and the control program. PDR denotes a pulse distributor, SVR a servo circuit, DCR a D.C. motor for transporting a robot arm, and PCR a pulse coder. These components construct a servo unit which executes servo control in such a manner that the difference between the number of distributed pulses and the number of feedback pulses approaches zero, with the servo unit corresponding to that constituted by the aforementioned pulse distributor PDN, servo circuits SVNX, SVNZ, D.C. motors DMX, DMZ, and pulse coders PCNZX, PCNZ. DTR designates a data transceiving unit, incorporating a shift register or the like, connected to the data transceiving unit DTN of the numerical control device NCU for mutual transmission and reception of data. TB denotes a teaching box for teaching robot motion and for loading robot programs into the data memory DMR. A robot program may be taught through the following procedure:

First, the robot is jog-fed up to a target position by means of a jog button provided on the teaching box TB, followed by setting a sequence number and an operating speed. Next, a robot hand or machine operation to be performed at the target position is designated by a robot service code, followed by depressing a teach button. When this is done, the sequence number, target position, operating speed and robot service code are stored in a predetermined area of the data memory DMR. The foregoing operations are then repeated to store a series of robot command data in the data memory DMR in the form of a robot program. PCR denotes a power sequence circuit for providing a robot RBT with a signal DOR, in the form of a contact signal, supplied by the processor MPUR for controlling each axis of the robot as well as the on/off operation of the robot hand. The power sequence circuit PCR also provides the processor MPUR with a signal DIR, such as a limit switch signal, indicating the end of motion along a respective robot axis or the end of an operation preformed by the hand.

The operation of the present invention will be described next.

Prior to the start of operation, a plurality of NC programs are loaded into the data memory DMN via the paper tape and tape reader PTR, and a plurality of robot programs are loaded into data memory DMR from the teaching box TB by being taught through the above-described procedure. Also, the corresponding relationship among the kinds of workpieces, the NC programs and the leading addresses of in the data memory DMN storing the NC programs, is loaded into the correspondence data memory WNCT. It should be noted that a corresponding robot program identification code (program number) is inserted in each of the NC programs beforehand at a suitable location thereof, such as at the beginning of the program.

When a workpiece is delivered by the conveyor under these conditions, the workpiece discriminating unit WKD senses the size (area ratio) of the workpiece in the manner described above and produces the workpiece discrimination signal WDS. The latter signal is read by the processor MPUN, the processor goes to the correspondence data memory WNCT to read out the leading address of the NC program corresponding to the workpiece discrimination signal WDS, and stores the address in a pointer (register) located within the working memory WMN. Next, the robot program identification code (program number) of the NC program is read out of the data memory DMN from the leading address designated by the pointer, and is read by the processor MPUR of the numerical control device RCU through the data transfer line DTL. The processor MPUR goes to the leading address of the data memory DMR storing the robot program corresponding to the received program number, and stores the leading address in a pointer of the working memory WMR. Thus, through the foregoing operations, an NC program and a robot program, corresponding to the particular workpiece, are selected, after which the NC program and robot program data are read successively block-by-block from the addresses designated by the pointers, so that the desired processing for machining and robot services may be executed.

FIG. 4 is a schematic diagram for describing the processing for data transmission and reception between the numerical control device NCU and robot control device RCU.

In the Figure, SFR denotes a shift register capable of parallel writing/reading and serial writing/reading. GT represents a gate circuit for controlling the writing of data into the shift register SFR and the reading of data from the shift register SFR. TRCN is a transmission control circuit which, in transferring data, generates clock pulses CLK and a synchronizing signal SYNC. The transmission control circuit TRCN receives an address signal from an address bus ABUS and responds by generating a gate signal GS for controlling the gating of the gate circuit GT. SFRM represents a shift register capable of parallel writing/reading and serial writing/reading, similar to the shift register SFR. BTC is a bit counter having a capacity equivalent to the number of bits (eight) in one item of parallel data, for counting the clock pulses CLK delivered by the data transceiving unit DTM of the numerical control device, with a signal carry pulse CP being produced in response to the arrival of eight clock pulses CLK, i.e., in response to the transmission of eight bits of data. ADC designates an address counter for generating an address signal. The counter counts the carry pulses CP and delivers the counted value as the address signal. The signal is sent out over an address bus ABUSM.

At the start of operation, the transmission control circuit TRCN of the data transceiving unit DTN on the side of the numerical control device NCU generates the synchronizing signal SYNC, which is sent to the data transceiving unit DTR of the robot control device RCU via a cable L₂. The synchronizing signal SYNC is applied to the address counter ADC and bit counter BTC to initially clear their contents.

Next, the processor MPUN on the side of the numerical control device writes the robot program number into the shift register SFR in parallel form, after which the robot program number is sent out on a data cable L_(o) while being shifted one bit at a time by the clock pulses CLK. Thus, the parallel data is converted into serial data DATA and transmitted as a bit serial. It should be noted that the clock pulses CLK also are transmitted, over cable L₁, to give an indication of each bit position of the serial data DATA. The data transceiving unit DTR of the robot control device RCU samples the serial data transmitted in accordance with the clock pulses CLK, and performs an SP conversion (serial-parallel conversion) by writing the data into the shift register SFRM while the item of data is shifted one bit at a time. Concurrently, the clock pulses CLK enter the bit counter BTC where the clock pulses are counted in number. When the bit counter BTC counts eight clock pulses, equivalent to the length (eight bits) of the item of data transmitted in the form of a bit serial (i.e., serially), the counter generates a carry pulse CP in response to which the address counter ADC is incremented by one step. With the incrementing of the address counter ADC, the SP conversion of the serial data DATA ends and data from the shift register SFRM is written, in parallal fashion, into latches L₁ through L₈ (not shown) corresponding to the value of one (first address) counted by the address counter ADC. The data thenceforth is read by the processor MPUR.

The foregoing description relates to a case where workpieces of various shapes arrive in random fashion. However, if it is known that certain workpieces W₁ of number N₁ will arrive followed by workpieces W₂ of number N₂ and thereafter by workpieces W_(i) of number N_(i) (i=3, 4. . . ), or in other words, if the schedule is known, then it is possible to adopt an arrangement wherein N_(i) (i=1,2, . . .) is set in advance and a subsequent machining program and robot program (both known) are selected each time N_(i) -number of workpieces are completed. In such case it will suffice to assign a robot program idenfication code to each machining program or to provide a correspondence table.

Thus, according to the present invention, a number of NC programs are stored in the numerical control device NCU and a number of robot programs are stored in the robot control device RCU, making individual teaching and loading operations unnecessary, so that system efficiency can be enhanced. Moreover, the invention eliminates the need for operator intervention, making it possible to realize unmanned factories, since workpieces are discriminated automatically by sensing workpiece size and shape to enable the selection of a robot program and NC program corresponding to the workpiece. 

We claim:
 1. An industrial robot control method for use in a system having a machine tool, a numerical control device for controlling the machine tool, an industrial robot and a robot control device for controlling the industrial robot under one of a plurality of robot control programs, comprising the steps of:(a) storing the plurality of robot control programs in the robot control device; (b) automatically generating a robot control program selection signal under the control of the numerical control device; and (c) executing robot service processing, under the control of the robot control device, based on a selected one of the robot control programs corresponding to the robot control program selection signal.
 2. An industrial robot control method according to claim 1, further comprising the steps of:(d) storing a plurality of NC programs in the numerical control device; (e) inserting a robot program identification code into each of the NC programs prior to said step (d); and (f) automatically selecting a predetermined NC program, wherein said step (b) comprises transmitting the robot control program selection signal to the robot control device to select the one of the robot control programs corresponding to the selected NC program.
 3. An industrial robot control method according to claim 1, further comprising the steps of:(d) storing a plurality of NC programs in the numerical control device; (e) storing a correspondence table, indicating the correspondence between the NC programs and robot programs in memory in advance; (f) automatically selecting a predetermined NC program; and (g) referring to the correspondence table to determine the robot control program corresponding to the predetermined NC program selected in said step (f), wherein said step (b) comprises transmitting the robot control program selection signal to the robot control device to select the robot control program corresponding to the selected NC program.
 4. An industrial robot control method according to claim 3, further comprising the steps of:(h) storing a corresponding relationship between NC programs and the sizes of workpieces to be loaded or unloaded relative to a machine tool in memory in advance; (i) discriminating the sizes of the workpieces; and (j) automatically selecting a desired NC program based on the results of said discrimination step (i).
 5. An industrial robot control method according to claim 3, further comprising the steps of:(h) storing a corresponding relationship between NC programs and the shapes of workpieces to be loaded or unloaded relative to a machine tool in memory in advance; (i) discriminating the shapes of the workpieces; and (j) automatically selecting a predetermined NC program based on the results of said discrimination step (i).
 6. An industrial robot control method according to claim 3, further comprising the steps of:(h) storing a schedule, including the machining sequence of a plurality of workpieces and the number of workpieces to be machined, beforehand in an internal memory of the robot control device; and (i) automatically selecting the NC programs based on the schedule stored in said step (h).
 7. An industrial robot control method according to claim 2, further comprising the steps of:(g) storing a corresponding relationship between NC programs and the sizes of workpieces to be loaded or unloaded relative to a machine tool in memory in advance; (h) discriminating the sizes of the workpieces; and (i) automatically selecting a desired NC program based on the result of said discrimination step (h).
 8. An industrial robot control method according to claim 2, further comprising the steps of:(g) storing a corresponding relationship between NC programs and the shapes of workpieces to be loaded or unloaded relative to a machine tool in memory in advance; (h) discriminating the shapes of the workpieces; and (i) automatically selecting the predetermined NC program based on the results of said discrimination step (h).
 9. An industrial robot control method according to claim 2, further comprising the steps of:(g) storing a schedule, including the machining sequence of a plurality of workpieces and the number of workpieces to be machined, beforehand in an internal memory of the robot control device; and (h) automatically selecting the NC programs based on the schedule stored in said step (g).
 10. An industrial robot control method for use in a system having a machine tool for machining workpieces, a numerical control device for controlling the machine tool under one of a plurality of numerical control programs, an industrial robot and a robot control device for controlling the industrial robot under one of a plurality of robot control programs, comprising the steps of:(a) storing the relationship between the workpieces, the NC programs, and the NC control programs, so that a particular workpiece corresponds to a predetermined NC program and a predetermined robot control program; (b) determining the size or shape of the workpiece to be machined; (c) automatically selecting the corresponding one of the NC programs based on the results of said determining step (b); (d) transmitting a robot control program selection signal to the robot control device in accordance with the selected NC program, to select the corresponding robot control program; and (e) executing robot service processing under the control of the robot control device based on the selected one of the robot control programs corresponding to the robot control program selection signal. 